package com.nineclock.api.sign;

import com.nineclock.common.entity.PageResult;
import com.nineclock.common.entity.Result;
import com.nineclock.sign.dto.SignAllUserDTO;
import com.nineclock.sign.dto.SignDTO;
import com.nineclock.sign.dto.SignInfoDTO;
import com.nineclock.sign.dto.SignPCListDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

import java.util.List;

@Api("签到服务")
public interface SignControllerApi {
    @ApiOperation("签到")
    public Result sign(SignDTO signDTO);

    @ApiOperation("APP: 获取当前用户当天签到次数")
    public Result<Integer> queryUserSignCount();

    @ApiOperation("APP: 查询本月签到记录")
    public Result<List<SignDTO>> queryUserMonthSignCount(String dateStr);

    @ApiOperation(("APP: 统计获取团队员工打卡列表"))
    public Result<List<SignAllUserDTO>> queryAllCompanyUserSignCount(String dateStr);

    @ApiOperation("PC: 查询签到列表")
    public Result<PageResult<SignPCListDTO>> querySignByPage(String startTime, String endTime, Integer page, Integer pageSize);

    @ApiOperation("导出签到列表")
    public void export(String startTime, String endTime);
}
